package com.coin.exchange.bitfinex.rest.api;

/**
 * https://docs.bitfinex.com/docs
 * @author duyuchong
 *
 */
public interface IPublicRestApi {

	/**
	 * The ticker is a high level overview of the state of the market.
	 * It shows you the current best bid and ask, as well as the last trade price.
	 * It also includes information such as daily volume and how much the price has moved over the last day.
	 * @param symbol
	 * @return
	 * @throws Exception
	 */
	String getTicker(String symbol) throws Exception;

	/**
	 * Various statistics about the requested pair.
	 * @param symbol
	 * @return
	 * @throws Exception
	 */
	String getStats(String symbol) throws Exception;

	/**
	 * Get the full margin funding book
	 * @param currency
	 * @return
	 * @throws Exception
	 */
	String getFundingbook(String currency) throws Exception;

	/**
	 * Get the full order book.
	 * @param symbol
	 * @return
	 * @throws Exception
	 */
	String getOrderbook(String symbol) throws Exception;

	/**
	 * Get a list of the most recent trades for the given symbol.
	 * @param symbol
	 * @return
	 * @throws Exception
	 */
	String getTrades(String symbol) throws Exception;

	/**
	 * Get a list of the most recent funding data for the given currency: total amount provided and Flash Return Rate (in % by 365 days) over time.
	 * @param currency
	 * @return
	 * @throws Exception
	 */
	String getLends(String currency) throws Exception;

	/**
	 * A list of symbol names.
	 * @return
	 * @throws Exception
	 */
	String getSymbols() throws Exception;

	/**
	 * Get a list of valid symbol IDs and the pair details.
	 * @return
	 * @throws Exception
	 */
	String getSymbolsDetails() throws Exception;

}
